/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package controllers;

import entities.Viaggio;
import entities.Volo;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

/**
 *
 * @author riccardo
 */
@Stateless
public class ViaggioFacade extends AbstractFacade<Viaggio> {
    @PersistenceContext(unitName = "WebApplication2PU")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public ViaggioFacade() {
        super(Viaggio.class);
    }

    public List<Viaggio> findFiltered(int idUtente) {
//        
//        select v.*
//        from viaggio as v join prenotazioni as p
//        on v.idVIAGGIO = p.idViaggio
//        where p.idUtente =:idUtente
        
        List<Viaggio> retVal = null;
        String jql="SELECT v FROM Prenotazioni p INNER JOIN Fetch p.idViaggio v where"
                + " (p.idUtente.idUTENTE=:idUtente) ";
        
        
//        String jql="SELECT v FROM Viaggio v INNER JOIN Fetch v.idVIAGGIO p where"
//                + " (v.idVIAGGIO.idUtente =: idUtente) ";
        Query query =  getEntityManager().createQuery(jql);
        query.setParameter("idUtente",(idUtente));
        retVal = query.getResultList();
        return retVal;
    }
    
}
